import pandas as pd

def add_word_length_column(excel_file, column_index):
    """
    从 Excel 文件中指定索引的列读取英文单词，计算长度（忽略空格），并添加到最后一列。
    （不包含异常处理）

    Args:
        excel_file (str): Excel 文件的路径 (.xlsx).
        column_index (int): 要读取的列的索引（从0开始）.

    Returns:
        pandas.DataFrame: 修改后的 DataFrame，包含新的一列长度数据.
    """
    # 读取 Excel 文件
    df = pd.read_excel(excel_file)

    # 检查列索引是否有效
    if column_index >= len(df.columns):
        raise IndexError(f"列索引 {column_index} 超出范围。")

    # 计算每个单词的长度并添加为新列,直接通过iloc访问列
    df['word_length'] = df.iloc[:,column_index].apply(lambda x: len(x.strip()) if isinstance(x, str) else None)

    return df


if __name__ == '__main__':
    excel_file_path = "Problem_C_Data_Wordle.xlsx"  #  替换成你的 Excel 文件路径
    column_to_read = 2   # 替换成你要读取的列的索引（第2列，索引为1）

    updated_df = add_word_length_column(excel_file_path, column_to_read)

    print(updated_df) # 输出 DataFrame
    # 也可以将结果保存到新的 Excel 文件
    updated_df.to_excel("output.xlsx", index=False)
    print("处理完成，结果已保存到 output.xlsx")